package com.huilian.iotbox.admin.service.impl;

import com.huilian.iotbox.admin.dao.StatsStoreDetailDao;
import com.huilian.iotbox.admin.service.StatsStoreDetailService;
import com.huilian.iotbox.data.dto.ConsumeRecordDto;
import com.huilian.iotbox.data.dto.GiftIncrementDto;
import com.huilian.iotbox.data.dto.MemberStoreBalanceDto;
import com.huilian.iotbox.data.po.StatsStoreDetail;
import com.huilian.iotbox.data.vo.StatsStoreDetailVo;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
import java.util.Map;

/**
 * @author lizhiquan
 * @CreateDate: 2021-04-12 12:35
 * @Description:
 */
@Service
public class StatsStoreDetailServiceImpl implements StatsStoreDetailService {

    @Resource
    private StatsStoreDetailDao statsStoreDetailDao;



    @Override
    public Integer insert(StatsStoreDetail statsStoreDetail) {
        return statsStoreDetailDao.insert(statsStoreDetail);
    }

    @Override
    public Integer updateByDateAndMchStoreId(StatsStoreDetail statsStoreDetail) {
        return statsStoreDetailDao.updateByDateAndMchStoreId(statsStoreDetail);
    }

    @Override
    public List<StatsStoreDetail> statsMonthStoreDetail(String startDateStr, String endDateStr) {
        return statsStoreDetailDao.statsMonthStoreDetail(startDateStr, endDateStr);
    }

    @Override
    public Integer update(StatsStoreDetail item) {
        return statsStoreDetailDao.update(item);
    }


    @Override
    public List<StatsStoreDetail> statsStatsStoreDetailByOrderV2(String startTime, String endTime, Integer statsType) {
        return statsStoreDetailDao.statsStatsStoreDetailByOrderV2(startTime, endTime, statsType);
    }

    @Override
    public List<StatsStoreDetail> statsStatsStoreDetailByActivityOrderV2(String startTime, String endTime, Integer statsType) {
        return statsStoreDetailDao.statsStatsStoreDetailByActivityOrderV2(startTime, endTime, statsType);
    }


    @Override
    public void batchInsert(List<StatsStoreDetail> statsStoreDetails) {
        statsStoreDetailDao.batchInsert(statsStoreDetails);
    }

    @Override
    public StatsStoreDetail finMemberIdCount(MemberStoreBalanceDto memberStoreBalanceDto) {
        return statsStoreDetailDao.finMemberIdCount(memberStoreBalanceDto);
    }

    @Override
    public StatsStoreDetail findActivityOrderMaxAndMin(String startTime, String endTime,Integer merchantStoreId) {
        return statsStoreDetailDao.findActivityOrderMaxAndMin(startTime,endTime,merchantStoreId);
    }

    @Override
    public List<StatsStoreDetail> statsStatsStoreDetailByActivityOrderActivityCancelledMoney(String startTime, String endTime, Integer statsType) {
        return statsStoreDetailDao.statsStatsStoreDetailByActivityOrderActivityCancelledMoney(startTime, endTime, statsType);
    }

    @Override
    public List<StatsStoreDetail> statsStatsStoreDetailByOrderItem(String startTime, String endTime, Integer statsType) {
        return statsStoreDetailDao.statsStatsStoreDetailByOrderItem(startTime,endTime,statsType);
    }

    @Override
    public List<StatsStoreDetail> statsStatsStoreDetailByLedgerOrder(String startTime, String endTime, Integer statsType) {
        return  statsStoreDetailDao.statsStatsStoreDetailByLedgerOrder(startTime,endTime,statsType);
    }

}
